package com.scm.biz.dao;

import java.util.List;

import com.scm.biz.bean.MsgNotice;
import com.scm.biz.query.MsgNoticeQuery;
import com.scm.biz.query.OrderDynamicQuery;
import com.scm.biz.result.MsgNoticeResult;

public interface MsgNoticeDao {
	int deleteByPrimaryKey(Long id);

    int insert(MsgNotice record);

    int insertSelective(MsgNotice record);

    MsgNotice selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(MsgNotice record);
    void updateFinish(Integer userId,Long businessId,String orderType);

    int updateByPrimaryKey(MsgNotice record);
    
    /**
     * 查询消息列表
     * @param msgNoticeQuery 查询条件（包括用户名和消息状态）
     * @return
     */
    List<MsgNoticeResult> selectMsgNotice(MsgNoticeQuery msgNoticeQuery);
    
    /**
     * 查询消息列表总数
     * @param msgNoticeQuery
     * @return
     */
    int selectTotal(MsgNoticeQuery msgNoticeQuery);
    
    /**
     * 进行中设计订单总数
     * @return
     */
    int selectDesignTotal();
    
    /**
     * 获取当前用户前5条相关订单动态列表
     * @param ids
     * @return
     */
    List<MsgNoticeResult> selectOrderDynamic5(Integer userId);
    
    /**
     * 获取当前yoghurt所有相关订单动态列表
     * @param orderDynamicQuery
     * @return
     */
    List<MsgNoticeResult> selectOrderDynamic(OrderDynamicQuery orderDynamicQuery);
    
    /**
     * 订单动态总数
     * @param orderDynamicQuery
     * @return
     */
    int selectOrderDynamicTotal(OrderDynamicQuery orderDynamicQuery);
    
    /**
     * 关闭设计订单总数
     * @return
     */
    int selectCloseDesignTotal();
    
    /**
     * 进行中打样订单总数
     * @return
     */
    int selectProofingTotal();
    
    /**
     * 关闭打样订单总数
     * @return
     */
    int selectCloseProofingTotal();
    
    /**
     * 进行中大货订单总数
     * @return
     */
    int selectProductionTotal();
    
    /**
     * 关闭大货订单总数
     * @return
     */
    int selectCloseProductionTotal();
    
    /**
     * 修改消息状态
     * @param id
     * @return
     */
    int updateStatus(Long id);
}